package org.lanqiao.Db;

import java.util.Properties;

import javax.sql.DataSource;

import org.apache.commons.dbcp2.BasicDataSourceFactory;

/**
 * 获取数据库数据源利用DBCP数据库连接池进行管理
 */

public class DBDataSource {
	// 创建一个连接数据库数据源对象
	private static DataSource dataSource;
	//禁止该类在其他的类中被调
	private DBDataSource(){
	}
	
	
	//使用静态的方法从DBCP数据库连接池链接到我们需要的数据库中
	public static  DataSource getDataSource(){
		//判断对象中是否为null
		if(dataSource==null){
			try {
				//实例化properties对象，从其中获取我们连接数据库的基本信息
				Properties pro=new Properties();
				//从properties中获取到数据
				pro.load(DBDataSource.class.getClassLoader()
						.getResourceAsStream("db.properties"));
				dataSource=(DataSource) BasicDataSourceFactory.createDataSource(pro);
			} catch (Exception e) {
				//异常处理
				System.out.println("生成数据库连接池错误："+e.getMessage());
				e.printStackTrace();
			}
		}
		return dataSource;
	}
}







